\chapter{Levantamento de Programas da Web Semântica}
\label{ch:semanticwebsurveyprog}



classificar quanto sua interface (web, console, desktop, tablet, smartphone )
classificar quanto sua portabilidade (qual OS suporta a aplicação, lado servidor e cliente)
classificar quanto ao ano de criação
classificar quanto seu ultimo ano de atualização
classificar quanto sua aplicação (analise de dados, pesquisa, visualização, integração)
classificar quanto sua linguagem de desenvolvimento.

classificação usada por  \url{http://semanticweb.org/wiki/Category:Semantic_Web_tool}


Controlled English parser
Conversion Tools
Exporter
Knowledge extraction tools
Ontology engineering tool
Query Engine
RDB2RDF Conversion Tools
RDF indexing service
RDF store
Reasoner
Semantic agent system
Semantic browser
Semantic content management system
Semantic Measures tools
Semantic Microblogging
Semantic PIM
Semantic search tool
Semantic Web development toolkit
SPARQL-to-Object Mapper



classificação quanto ao artigo "A Taxonomy of Software Types to Facilitate Search and 
Evidence-Based Software Engineering" 

Audio 
Clustering 
Communications 
Database 
Desktop 
Development Tools 
Distributions and Standards 
Education 
Enterprise 
Financial 
Games/Entertainment 
Graphics 
Hardware 
Information resources 
Linux 
Management and Business 
Miscellaneous 
Multimedia / Publishing 
Networking / Telecom 
Office/Business 
Operating Systems 
Plugin 
Printing 
Programming 
Religion 
Scientific / Engineering 
Security 
Sociology 
Storage 
Student 
System and Network 
Utilities 
Terminals 
Text Editors 
Utility 
Voice Over IP (VoIP) 
Web / Internet 
Windows 
XML


classificação quanto sua licença (free ou comercial)




\section{Começo da Adoção dos Programas da Web Semântica}
\label{sc:adocaoweb}
Uma das principais preocupações de área de engenharia de software diz 
respeito à reutilização [1]. Isso porque a reutilização no contexto de 
desenvolvimetno de software pode contribuir significativamente para aumentar a 
qualidade do software assim como reduzir o esforço  no seu desenvolvimento. 
Uma das técnicas de maior impacto de reuso de projeto e código em larga escala 
que foi proposta nos últimos anos é o desenvolvimetno e codificação de 
Frameworks Orientados a Objetos (OO) [3, 4]. Frameworks OO possibilitam o 
desenvolvimento com reuso, de família de aplicações[8], criadas a partir de uma 
estrutura que captura os conceitos mais gerais das aplicações. Eles permitem gerar 
famílias de aplicações de um mesmo domínio, atravésda definição da 
implementação de um núcleo que lida com os requisitos comuns dessas 
aplicações, e definem um conjunto de pontos de extensão na forma de classes 
abstratas ou interfaces, que são estendidas para concretizar a funcionalidade 
específica de aplicações concretas da família. 
Apesar dos benefícios trazidos pela tecnologia de frameworks OO, diversos 
problemas foram identificados a partir da experiência do uso de tal tecnologia na 
construção de sistemas OO, tais como: (i) dificuldade para configuração e 
customização do framework para atender diferentes cenários de reuso; e (ii) 
dificuldade para compor o framework de forma transversal a outros frameworks 
existentes. A partir da identificação de tais problemas, pesquisadores têm proposto 
a implementação de frameworks usando de forma complementar técnicas OO e 
técnicas de Desenvolvimento de Software Orientado aAspectos. 
Desenvolvimento de software orientado a aspectos (DSOA) [5, 6] é uma 
abordagem que busca a modularização dos chamados interesses transversais, os 
quais os paradigmas atuais (ex: orientação a objetos) não são capazes de capturar 
explicitamente. Interesses transversais são aquelesque entrecortam
1
diversos 
módulos em um dado sistema de software. DSOA propõeo uso de técnicas e 
PUC-Rio - Certificação Digital Nº 0510982/CA
14 
linguagens de programação que permitam a especificação de software complexo 
com uma separação clara entre a funcionalidade básica do sistema e seus 
interesses transversais. A abstração usada para modularizar os interesses 
transversais é chamada de Aspecto. 
A utilização de forma complementar, dos paradigmas  de orientação a 
aspectos (OA) e orientação a objetos (OO), tem demonstrado benefícios para o 
desenvolvimento de softwares. A modularização de determinadas propriedades 
sistêmicas ou requisitos não funcionais transversais, tais como, rastreamento, 
segurança, demarcação de transações, e auditoria, são notadamente beneficiados 
com o uso de técnicas de programação orientada a aspectos. De forma geral, a 
utilização do paradigma de orientação a aspectos, visa melhorar a diminuição do 
acoplamento e aumentar a modularidade entre os componentes de um sistema de 
software.


\subsection{Cenário Atual dos Programas da Web Semântica}
\label{sc:cenarioatualwebs}
um levantamento foi realizado e foram encontradas algumas ferramenta.

\begin{itemize}
    \item A
	    \begin{itemize}
	        \item {\bf{AceRules \ref{the_label}}}
	        \item AceWiki ~\ref{the_label}
	        \item ActiveRDF ~\labelref{the_label}
	        \item Airo
	        \item AllegroGraph
	        \item any23
	        \item Anzo
	        \item ARC
	        \item ARC2
	        \item Artificial Memory
	        \item Attempto Parsing Engine
	        \item AutoMeta
	        \item AUTOMS        
	    \end{itemize}
    \item B
	    \begin{itemize}
	        \item Bibliometric Analysis
	        \item BibSonomy
	        \item Bigdata 
	        \item BigOWLIM
	        \item BLOOMS
	        \item Bossam
	        \item BOWiki
	        \item Braindump
	        \item BrightstarDB            
	    \end{itemize}
    \item C
		\begin{itemize}
			\item CAIS
			\item Callimachus
			\item CEL
         \item Cerebra Engine
         \item CESSM
         \item COEUS
         \item CORAAL
         \item COW
         \item CROSSOVER
         \item CS AKTiveSpace
         \item CubeViz
         \item CubicWeb
	                        
	    \end{itemize}
	\item D
		\begin{itemize}
			\item D2R Server
			\item D2RQ 
			\item DartGrid
			\item DATA SEARCH TOOL
			\item DBin
			\item Dedoop
			\item DERI Pipes
			\item Disco
			\item DL-Learner
			\item DL-Learner
			\item DogmaModeler
			\item DSSN
			\item Dydra
			\item DynaPoka
		\end{itemize}
	\item E
		\begin{itemize}
			\item EasyRdf
			\item ELK
			\item Erfurt
			\item EulerGUI
			\item Explorer
		\end{itemize}
	\item F
		\begin{itemize}
			\item Faceted navigation for RDF data
			\item FaCT
			\item FaCT++
			\item FactForge 
			\item Falcon
			\item FinnONTO Onki
			\item flickurl
			\item Fluent Editor
			\item Foam
			\item FOX
			\item Freebase
			\item Fuseki
			\item FUSION Semantic Registry
			
		\end{itemize}
	\item G
		\begin{itemize}
			\item GeoKnow
			\item GFacet
			\item GoNTogle
			\item Graph for SharePoint
			\item Groovy SPARQL
			
		\end{itemize}
	\item H
		\begin{itemize}
			\item Hako
			\item Harava
			\item HAWK
			\item Haystack
			\item HELENOS
			\item Hoolet
			\item HyperGraphDB
			\item Hypertext Knowledge Workbench
			\item HyperTwitter
			
		\end{itemize}
	\item I
		\begin{itemize}
			\item Instance Store
			\item Internet Business Logic
			\item IODT
			\item IsaViz 
			\item ITM
			
		\end{itemize}
	\item J
		\begin{itemize}
			\item Jcel
			\item Jdbc4sparql
			\item Jena
			\item Jena (toolkit)
			\item Jena .NET
			\item Jenabean
			\item JeromeDL
			\item Joseki
			\item JOWL
			\item JRDF
			
		\end{itemize}
	\item K
		\begin{itemize}
			\item KAON2
			\item KAON2 OWL tools
			\item KAONP2P
			\item Karagabi KMFramework
			\item Kaukolu
			\item KendraBase
			\item KIM Plataforma
			\item KiWi
			\item Knowee
			\item KOAN
			\item KOKOaja 
			\item KOMMA
			\item Krextor
			
		\end{itemize}
	\item L
		\begin{itemize}
			\item LDIF
			\item Linked Media Framework
			\item Linked Ratpack
			\item LinkedLifeData
			\item LOD2
			\item Longwell
			
		\end{itemize}
	\item M
		\begin{itemize}
			\item Makna
			\item MapIt
			\item Marbles
			\item MaRVIN 
			\item MashQL
			\item MetaGlance
			\item Mulgara
			\item MultiBeeBrowse
			\item Mutu
			\item MyOntology
			\item MyView
			
		\end{itemize}
	\item N
		\begin{itemize}
			\item Neologism
			\item NeOn Toolkit
			\item Nepomuk 
			\item NG4J
			
		\end{itemize}
	\item O
		\begin{itemize}
			\item ObjectCoref
			\item OLG
			\item Onthology
			\item OntoBroker
			\item Ontogator
			\item OntologyView
			\item OntoStudio
			\item OntoViews
			\item OntoWiki
			\item Opas
			\item Open Anzo
			\item OpenLink AJAX Toolkit
			\item OpenLink Data Spaces
			\item OpenSaharaSesame
			\item Orient
			\item Oroboro
			\item OWL API
			\item OWL-S API
			\item OWL-S UDDI Matchmaker
			\item Owl2vcs
			\item OWLDiff
			\item OWLGrEd
			\item Owlgres
			\item OWLIM
			\item Oyster
			
		\end{itemize}
	\item P
		\begin{itemize}
			\item Paggr
			\item Parliament
			\item Paux
			\item Pellet
			\item Pelorus
			\item Piggy Bank
			\item Ping the Semantic Web
			\item PlatypusWiki
			\item Poka
			\item PoolParty
			\item PoolParty Extractor
			\item PoolParty Semantic Search
			\item Protégé
			\item PROTON Ontology
			\item Pubby
			\item Purifyr
			
		\end{itemize}
	\item Q
		\begin{itemize}
			\item QuASAR (verification tool)
			\item QuOnto
			
		\end{itemize}
	\item R
		\begin{itemize}
			\item R2R
			\item RacerPro
			\item RAP
			\item RDF Gravity
			\item RDF Reactor
			\item RDF.rb
			\item RDF2Go
			\item RDF2Java
			\item RDFaCE
			\item RDFBroker
			\item RDFLib
			\item RDFStore 
			\item Redland
			\item RedStore
			\item RELExO
			\item RelFinder
			\item Rhizome
			\item RIFLE
			\item ROO
			\item Rule Responder
			
		\end{itemize}
	\item S
		\begin{itemize}
			\item S3DB
			\item Saha
			\item Sahara
			\item Sapience
			\item SEAGENT Platform
			\item SEAL
			\item Semantic annotator
			\item Semantic Java
			\item Semantic Measures Library
			\item Semantic Turkey
			\item SemanticWorks
			\item SemperWiki
			\item SemVersion
			\item SemWeb-DotNet
			\item Semweb4j
			\item SERD 
			\item Sesame
			\item Sesame 2 Windows Client
			\item SharedHCONE
			\item SHER
			\item Sieve
			\item SimDL
			\item Sindice
			\item Sindice.com
			\item SKOS Consistency Checker
			\item Skosify
			\item Smart-M3
			\item SMW+
			\item SOBOLEO
			\item Software Engineering Research Group (IDIS)
			\item Soprano - the Qt/C++ RDF framework
			\item Sord
			\item SPARQL Python Wrapper
			\item SPARQL Trainer
			\item SPARQL-RW
			\item SPARQL2XQuery
			\item Sparqlify
			\item SparqlMap
			\item SpecGen
			\item Stardog
			\item SWAML
			\item SWeDE
			\item SWeHG
			\item SWI-Prolog
			\item SWiM
			\item Swirrl Wiki
			\item Swoogle
			\item Swoop
			
		\end{itemize}
	\item T
		\begin{itemize}
			\item Tabulator
			\item TaOPis
			\item Text2Onto
			\item The WIQA
			\item Thetus
			\item TLDR? Spanner
			\item Topaz
			\item TopBraid Composer
			\item TopBraid Ensemble
			\item TopBraid EVN
			\item TopBraid Suite
			\item TRIPLE
			\item Triplify
			\item Triplr
			\item Twinkql
			\item TwoUse Toolkit
			
		\end{itemize}
	\item U
		\begin{itemize}
			\item Nenhuma encontrada
		\end{itemize}
	\item V
		\begin{itemize}
			\item Vapour
			\item Virtuoso
			\item Virtuoso environment
			\item VirtuosoRdfViews
			\item VisiNav
			
		\end{itemize}
	\item W
		\begin{itemize}
			\item Web Mining Framework
			\item Web Service Modeling Toolkit
			\item WebProtégé
			\item Wikidsmart
			\item WikSAR
			\item WoDQA
			\item WOM
			\item Wordpress PoolParty Thesaurus
			\item WSMX
			
		\end{itemize}
	\item X
		\begin{itemize}
			\item XSPARQL
			
		\end{itemize}
	\item Y
		\begin{itemize}
			\item YARS
		\end{itemize}
	\item Z
		\begin{itemize}
			\item Zitgist
			\item Zthes to SKOS Converter
			
		\end{itemize}
\end{itemize}




DynaPoka






\subsection{Resumo do Estudo}
\label{sc:resumoestudo}
Aiming to improve change management processes, some organizations have used
specific systems (generally called \emph{bug-trackers}) to manage, store and
handle change requests (also known as \emph{bug reports}). A bug report is
defined as a software artifact that describes some defect, enhancement, change
request, or an issue in general, that is submitted to a bug tracker;



generally, bug report submitters are developers, users, or testers. Such
systems are useful because changes to be made in a software can be quickly
identified and submitted to the appropriate people \citep{Anvik2005}.




\section{Requisitos para Adoção de um Programas da Web Semântica}
\label{sc:requisitosporo}
Aiming to improve change management processes, some organizations have used
specific systems (generally called \emph{bug-trackers}) to manage, store and
handle change requests (also known as \emph{bug reports}). A bug report is
defined as a software artifact that describes some defect, enhancement, change
request, or an issue in general, that is submitted to a bug tracker;
generally, bug report submitters are developers, users, or testers. Such
systems are useful because changes to be made in a software can be quickly
identified and submitted to the appropriate people \citep{Anvik2005}.


\section{Resumo deste Capítulo}
\label{sc:resumorequisitos}
Aiming to improve change management processes, some organizations have used
specific systems (generally called \emph{bug-trackers}) to manage, store and
handle change requests (also known as \emph{bug reports}). A bug report is
defined as a software artifact that describes some defect, enhancement, change
request, or an issue in general, that is submitted to a bug tracker;
generally, bug report submitters are developers, users, or testers. Such
systems are useful because changes to be made in a software can be quickly
identified and submitted to the appropriate people \citep{Anvik2005}.




Software maintenance and evolution are characterised by their huge cost and
slow speed of implementation. However they are inevitable activities -- almost
all software that is useful and successful stimulates user-generated requests for
change and improvements \citep{Bennett2000}. Sommerville
\citep{Sommerville2007} is even more emphatic and says that software changes
is a fact of life for large software systems. In addition, a set of studies
\citep{Huff1990,Moad1990,Eastwood1993,Erlikh2000} has stated along the years
that software maintenance and evolution is the most expensive phase of
software development, taking up to 90\% of the total costs.

All of these characteristics from software maintenance leaded the academia and
industry to investigate constantly new solutions to reduce costs in such
phase. In this context, \acf{SCM} is a set of
activities and standards for managing and evolving software, defining how to
record and process the proposed system changes, how to relate these to system
components, among other procedures. For all these tasks, it has proposed
different tools, such as version control systems and bug trackers
\citep{Sommerville2007}. However, some issues may arise due to these tools
usage. In this work, the focus are the issues from bug trackers, as
it will be discussed along this dissertation.











